const express = require("express")
const router = express.Router()
const multer = require("multer")
const path = require("path")
const {join} = require("path")
const journalDB = require("../../../../db/journal")
const fs = require("fs")

// 权限判断
router.use((req,res,next)=>{
  if(!req.session.userInfo.allowDelete){
    return res.send({
      code:15,
      mes:"您没有删除权限，请联系超级管理员进行添加"
    })
  }
  next()
})

// 删除日志
router.post("/delete",async(req,res)=>{
  try {
    let {_id} = req.body
    // 检测是否存在
    let doc = await journalDB.findById(_id)
    if(!doc){
      return res.send({
        code:9,
        mes:"该日志已被删除，请刷新后重试"
      })
    }
    // 删除服务器文件
    doc.cover.forEach(item=>{
      fs.rm(join(__dirname,`../../../../static${item}`),
      {recursive:true},err=>{
        if(err) return
      })
    })
    fs.rm(join(__dirname,"../../../../static"+doc.md),{recursive:true},err=>{
      if(err) return
    })
    // 删除数据库
    await journalDB.findByIdAndRemove(_id)
    res.send({
      code:0,
      mes:"删除成功"
    })
  } catch (error) {
    console.log("服务器异常",error)
    res.send({
      code:5,
      mes:"服务器异常，请稍后再试"
    })
  }
})

module.exports = router